home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ham Radio 2000
/
Ham Radio 2000.iso
/
ham2000
/
packet
/
rzsw34a
/
rosezsw.lst
< prev
next >
Wrap
File List
|
1993-09-15
|
17KB
|
314 lines
HI-TECH SOFTWARE Z80 Macro Assembler: rzsw.as
Page 1
1 0000' psect data
2 global _l2_user_info, _l2_info, Copyright
3 global _L3CALL, _L3DIGI, _L3PORT, _L3_MAXVC, _L3_WI, _L3DELAY
4 global _L3_ADDR, _L3CSIZ, _L3NSIZ, _NPAroute, _userport
5 global _l2parms, _dl2parms, _l3parms, _dl3parms
6 global _USER_MAXVC, _USER_L3_W, _RTable
7 global _sumchk, __Lbssck, mycall, mydigi, myaddr
8 global _NULLFCN, _clr_boot, _con_boot, _recv_boot
9 global _rst_boot, _send_boot, _loader
10 global _complete, _being_set
11 global _Entry, _entry
12 global _passlen, _passwd, _passbuf
13
14 0000' initdta:
15 0000' 001C' defw _l2_info ;dummies message
16 0002' 0105' defw l2parms ;l2 user config
17 0004' 0111' defw l3parms ;l3 link config
18 0006' 0004 defw 4 ;L3 user pkt window
19 0008' 0005 defw 5 ;L3 user max vc cnt
20 000A' 000F defw 15 ;_L3CSIZ, no L3 users
21 000C = initlen equ $-initdta
22
23 000C' 28 43 29 20 Copyright: defm '(C) 1988-93 W2VY'
0010' 31 39 38 38
0014' 2D 39 33 20
0018' 57 32 56 59
24 001C' 0000 0000 0028' _l2_info: defw 0,0,l2rdta,l2wdta,l2eob
0022' 0070' 00AB'
25 0026' 00 F0 l2flag: defb 0,0f0h ;No QDM Bits and AX25 L2 User PID
26 0028' 52 4F 53 45 l2rdta: defm 'ROSE X.25 Packet Switch Version 3.4 (930915) by Thomas A. Moulton, W2VY'
002C' 20 58 2E 32
0030' 35 20 50 61
0034' 63 6B 65 74
0038' 20 53 77 69
003C' 74 63 68 20
0040' 56 65 72 73
0044' 69 6F 6E 20
0048' 33 2E 34 20
004C' 28 39 33 30
27 006F' 0D defb 0dh
28 0070' 53 65 65 20 l2wdta: defm 'See READZSW.ME in RZSW0907.ZIP !!!!' ;35 Bytes
0074' 52 45 41 44
0078' 5A 53 57 2E
007C' 4D 45 20 69
0080' 6E 20 52 5A
0084' 53 57 30 39
0088' 30 37 2E 5A
008C' 49 50 20 21
0090' 21 21 21
29 0093' 0D 00 00 00 defb 0dh,0,0,0,0,0,0 ;7 Bytes
0097' 00 00 00
30 009A' 00 00 00 00 defb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ;17 Bytes
009E' 00 00 00 00
00A2' 00 00 00 00
00A6' 00 00 00 00
HI-TECH SOFTWARE Z80 Macro Assembler: rzsw.as
Page 2
00AA' 00
31 00AB' 00 l2eob: defb 0 ;1 Byte = 60 Bytes
32
33 00AC' 43 61 6C 6C _complete: defm 'Call Completed to ' ;40 bytes for each message
00B0' 20 43 6F 6D
00B4' 70 6C 65 74
00B8' 65 64 20 74
00BC' 6F 20
34 00BE' 00 00 00 00 defb 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
00C2' 00 00 00 00
00C6' 00 00 00 00
00CA' 00 00 00 00
00CE' 00 00 00 00
00D2' 00 00
35 00D4' 43 61 6C 6C _being_set: defm 'Call being Setup'
00D8' 20 62 65 69
00DC' 6E 67 20 53
00E0' 65 74 75 70
36 00E4' 0D 00 00 00 defb 0dh,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
00E8' 00 00 00 00
00EC' 00 00 00 00
00F0' 00 00 00 00
00F4' 00 00 00 00
00F8' 00 00 00 00
00FC' 00
37
38 00FD' 0000 0000 0064' passbf: defw 0,0,prd, pwd, peb
0103' 0064' 00A8'
39 0107' 00 F0 defb 0,0f0h
40 000C = pblen equ $-passbf
41
42 0007 = AXALEN equ 7
43 0001 = nnodes equ 1 ;1 nodes in default config
44 0000 = nusers equ 0 ; No Level 3 users in default config
45 0018 = maxl3 equ 24 ; My Calls + 15 Node Paths + 8 Users
46
47 GLOBAL _maxl3dev
48 0109' 0018 _maxl3dev: defw maxl3 ;Tell rest of world how big it is
49
50 010B' A4 9E A6 8A mycall: defb 0a4h,9eh,0a6h,08ah,040h,40h,66h ;ROSE-3
010F' 40 40 66
51 0112' A4 9E A6 8A mydigi: defb 0a4h,9eh,0a6h,08ah,040h,40h,64h ;ROSE-2
0116' 40 40 64
52 0119' 00 myport: defb 0
53 011A' 0A 31 00 00 myaddr: defb 10,31h,00h,00h,00h,00h,00h,00h,00h ;Switch Address
011E' 00 00 00 00
0122' 00
54 0123' 0000 mydelay: defw 0 ;900 =15 Mins before retry network link
55 0125' 14 myvc: defb 20 ;network links can have 20 vc's default
56 0126' 04 mywi: defb 4 ;default window of 4
57
58 0127' 0001 0000* spfcn: defw 1,_loader
59 012B' 00 00 defpwd: defb 0,0 ;40 Bytes for KEY
60 012D' 52 4F 53 45 defm 'ROSEISBESTABCDEFGHIJKLMNOPQRSTUVWXYZW2VY'
0131' 49 53 42 45
HI-TECH SOFTWARE Z80 Macro Assembler: rzsw.as
Page 3
0135' 53 54 41 42
0139' 43 44 45 46
013D' 47 48 49 4A
0141' 4B 4C 4D 4E
0145' 4F 50 51 52
0149' 53 54 55 56
014D' 57 58 59 5A
0151' 57 32 56 59
61
62 0155' 0CEA 0104' 0103' initab: defw FLAG2-BSSCK-1,BSSCK+1,BSSCK ;Length, Dest, Src
63 015B' 000C 011D' 0000' defw initlen,initbss,initdta
64 0161' 0007 0129' 010B' defw 7*nnodes,_L3CALL,mycall
65 0167' 0007 01D1' 0112' defw 7*nnodes,_L3DIGI,mydigi
66 016D' 0009 02F1' 011A' defw 9*nnodes,_L3_ADDR,myaddr
67 0173' 0001 0279' 0119' defw nnodes,_L3PORT,myport
68 0179' 0001 02D9' 0125' defw nnodes,_L3_MAXVC,myvc
69 017F' 0001 02A9' 0126' defw nnodes,_L3_WI,mywi
70 0185' 0002 03C9' 0123' defw nnodes*2,_L3DELAY,mydelay
71 018B' 000C 0105' 0000* defw 12,l2parms,_dl2parms ;init l2 parms ram table
72 0191' 000C 0111' 0000* defw 12,l3parms,_dl3parms ;init l3 parms ram table
73 0197' 002A 0CED' 012B' defw 42,_passlen,defpwd
74 019D' 0004 0036' 0127' initwm: defw 4,_maxfcn, spfcn ;Application loader
75 01A3' 000A 0010' 0000* defw 10,_L2PARS,_dL2PARS ;Hooks for Level 2 User Switching
76 01A9' 000A 001A' 0000* defw 10,_L3PARS,_dL3PARS ;Hooks for Level 3 Switching
77 01AF' 0008 0008' 0000* defw 8,_ifaces,_difaces ;Level 1 to Level 2 Hooks 4 ports
78 01B5' 000A 0000* 0000* defw 10,_entry,_Entry ;Message for Loader
79 01BB' 000C 0058' 00FD' defw pblen,_passbuf,passbf ;Static datastr for Loader Password
80 01C1' 0000 defw 0
81
82 0000' psect text
83 global __init
84 0000' __init:
85 0000' 3A 0104' ld a,(FLAG1) ;check flags
86 0003' FE AA cp 0aah
87 0005' 20 1C jp nz,1f
88 0007' 3A 0DEE' ld a,(FLAG2)
89 000A' FE AA cp 0aah
90 000C' 20 15 jp nz,1f
91 000E' CD 0050' call sumchk ;compute the checksum (xor of bytes)
92 0011' 47 ld b,a
93 0012' 3A 0103' ld a,(BSSCK)
94 0015' B8 cp b
95 0016' 20 0B jp nz,1f
96 0018' 21 001C' ld hl,_l2_info
97 001B' 22 011D' ld (_l2_user_info),hl ;Only the default message is in rom
98 001E' 21 019D' ld hl,initwm ;Warm Start init's
99 0021' 18 07 jp initlp
100
101 0023' AF 1: xor a ;Clear A
102 0024' 32 0103' ld (BSSCK),a ;IPAGE and MEMSIZ are set elsewhere
103 ;
104 0027' 21 0155' ld hl,initab ;start of init table
105 002A' 4E initlp: ld c,(hl)
106 002B' 23 inc hl
107 002C' 46 ld b,(hl)
HI-TECH SOFTWARE Z80 Macro Assembler: rzsw.as
Page 4
108 002D' 23 inc hl
109 002E' 78 ld a,b
110 002F' B1 or c ;done yet?
111 0030' 28 0F jp z,initeof ;yes, get out!
112 0032' 5E ld e,(hl)
113 0033' 23 inc hl
114 0034' 56 ld d,(hl)
115 0035' 23 inc hl
116 0036' 7E ld a,(hl)
117 0037' 23 inc hl
118 0038' E5 push hl
119 0039' 66 ld h,(hl)
120 003A' 6F ld l,a
121 003B' ED B0 ldir
122 003D' E1 pop hl
123 003E' 23 inc hl
124 003F' 18 E9 jp initlp
125
126 0041' initeof:
127 0041' 3E AA ld a,0aah
128 0043' 32 0104' ld (FLAG1),a
129 0046' 32 0DEE' ld (FLAG2),a
130
131 ; Now set the checksum value for next time.
132 0049' _sumchk:
133 0049' CD 0050' call sumchk
134 004C' 32 0103' ld (BSSCK),a
135 004F' C9 ret
136
137 0050' sumchk:
138 0050' 21 0104' ld hl,FLAG1
139 0053' 01 0CEA ld bc,FLAG2-FLAG1
140 0056' 7E ld a,(hl)
141 0057' 23 inc hl
142 0058' E5 push hl
143 0059' D1 pop de ;source and dest same, the LD is a nop
144 005A' AE 1: xor (hl)
145 005B' ED A0 ldi
146 005D' E0 ret po ;until BC = 0
147 005E' 18 FA jp 1b
148
149 0000' psect bssck ;bss with checksum protection
150 global IPAGE, _MEMSIZ, _HEAPUSD, _HEAPSIZ, _COLD
151 0000' IPAGE: DEFS 256 ;Interrupt pointer table (HDWINT.AS)
152 0100' _MEMSIZ: DEFS 2 ;Size of Dynamic RAM (BOOT.AS)
153 0102' _COLD: defs 1 ;Reason for Restart (BOOT.AS)
154 0103' BSSCK: defs 1
155 0104' FLAG1: defs 1
156 0105' l2parms: defs 12
157 0111' l3parms: defs 12
158 011D' initbss:
159 011D' _l2_user_info: defs 2
160 011F' _l2parms: defs 2
161 0121' _l3parms: defs 2
162 0123' _USER_L3_W: defs 2
HI-TECH SOFTWARE Z80 Macro Assembler: rzsw.as
Page 5
163 0125' _USER_MAXVC: defs 2
164 0127' _L3CSIZ: defs 2
165 0129' _L3CALL: defs AXALEN*maxl3 ;7 * 18 - 16 Nodes and 8 Users (bbs?)
166 01D1' _L3DIGI: defs AXALEN*maxl3
167 0279' _L3PORT: defs 2*maxl3
168 02A9' _L3_WI: defs 2*maxl3
169 02D9' _L3_MAXVC: defs maxl3
170 02F1' _L3_ADDR: defs 9*maxl3 ;Address of this device
171 03C9' _L3DELAY: defs 2*16 ;2 * 16 Nodes only
172 03E9' _L3NSIZ: defs 2
173 03EB' _NPAroute: defs 256 ;16 * 16 Alternatives in routing list
174 04EB' _userport: defs 2 ;Port number for out-bound User connect requests
175 04ED' _RTable: defs 2048 ;2K Max Routing Table for the WORLD!
176 0CED' _passlen: defs 1
177 0CEE' _passwd: defs 256
178 0DEE' FLAG2: defs 1
179 0000' psect bss
180 global _Init_bss, _SAVE, _SAVEA, _taskq, _timerq, _spcfcn, _maxfcn
181 global _ifaces, _L2PARS, _L3PARS, _difaces, _dL2PARS, _dL3PARS
182 0000' _Init_bss:
183 0000' _HEAPUSD: defs 2
184 0002' _HEAPSIZ: defs 2
185 0004' _taskq: defs 2
186 0006' _timerq: defs 2
187 0008' _ifaces: defs 8 ;4 pointers (2 bytes each)
188 0010' _L2PARS: defs 10 ;5 pointers (2 bytes each)
189 001A' _L3PARS: defs 10 ;5 pointers (2 bytes each)
190 0024' _SAVE: defs 2
191 0026' _SAVEA: defs 16
192 0036' _maxfcn: defs 2
193 0038' _spcfcn: defs 32 ; 16 - 2 byte entries
194 0058' _passbuf: defs 80
195 0064' = prd equ _passbuf+12
196 0064' = pwd equ _passbuf+12
197 00A8' = peb equ $
HI-TECH SOFTWARE Z80 Macro Assembler: rzsw.as
Page 6
---------- Symbol Table ----------
(ABS) 0000# AXALEN 0007 BSSCK 0103' Copyright 000C' FLAG1 0104' FLAG2 0DEE'
IPAGE 0000' _COLD 0102' _Entry 0000* _HEAPSIZ 0002' _HEAPUSD 0000' _Init_bss 0000'
_L2PARS 0010' _L3CALL 0129' _L3CSIZ 0127' _L3DELAY 03C9' _L3DIGI 01D1' _L3NSIZ 03E9'
_L3PARS 001A' _L3PORT 0279' _L3_ADDR 02F1' _L3_MAXVC 02D9' _L3_WI 02A9' _MEMSIZ 0100'
_NPAroute 03EB' _NULLFCN 0000* _RTable 04ED' _SAVE 0024' _SAVEA 0026' _USER_L3_W 0123'
_USER_MAXVC 0125' __Lbssck 0000* __init 0000' _being_set 00D4' _clr_boot 0000* _complete 00AC'
_con_boot 0000* _dL2PARS 0000* _dL3PARS 0000* _difaces 0000* _dl2parms 0000* _dl3parms 0000*
_entry 0000* _ifaces 0008' _l2_info 001C' _l2_user_info 011D' _l2parms 011F' _l3parms 0121'
_loader 0000* _maxfcn 0036' _maxl3dev 0109' _passbuf 0058' _passlen 0CED' _passwd 0CEE'
_recv_boot 0000* _rst_boot 0000* _send_boot 0000* _spcfcn 0038' _sumchk 0049' _taskq 0004'
_timerq 0006' _userport 04EB' bss 00A8# bssck 0DEF# data 01C3# defpwd 012B'
initab 0155' initbss 011D' initdta 0000' initeof 0041' initlen 000C initlp 002A'
initwm 019D' l2eob 00AB' l2flag 0026' l2parms 0105' l2rdta 0028' l2wdta 0070'
l3parms 0111' maxl3 0018 myaddr 011A' mycall 010B' mydelay 0123' mydigi 0112'
myport 0119' myvc 0125' mywi 0126' nnodes 0001 nusers 0000 passbf 00FD'
pblen 000C peb 00A8' prd 0064' pwd 0064' spfcn 0127' sumchk 0050'
text 0060#
7 jump optimizations